#pragma once

#include "Hazard.h"
#include "IListener.h"
#include <vector>

class Entity;

class PowerBox : public Hazard, public IListener
{
public:
	PowerBox(void);
	~PowerBox(void);

	// Draw
	virtual void Render(void);

	// Update
	virtual void Update(float elapsedTime);

	// Collision Response
	virtual bool CheckCollision(IEntity* base);

	// Pure virtual method from IListener
	virtual void HandleEvent(Event* thisEvent);

private:

	// Point structure to store locations more easily
	struct Point
	{
		int x;
		int y;

		inline Point(int i = 0,int j = 0) { x = i; y = j; }
	};

	// Vector of bots in range
	std::vector<Entity*> BotsInRange;

	// All the points to draw lightning to
	std::vector<Point> LightningPoints;

	// Has it been destroyed?
	bool Destroyed;

};

